import {messages} from "share/common";
/**
 * 这个文件存储了所有的节点类型，内部所有计算都基于这个文件，如果出现了这个文件内没有的节点将会报错
 */

export var nodeTypes = {
  START: 1000,//开始
  END: 1005,//结束
  OPEN: 1008,//分叉
  CLOSE: 1009,//合并
  CONDITION: 1010,//条件
  APPROVE: 1001,//审批
  BOT: 1003,//机器人
  KNOWN: 1002,//知会
  PRINT: 1004,//打印
  CREDIT: 1007,//信用
  AUDIT: 1012,
  AUTOAUDIT: 1013
};

/**
 * type由上方静态变量管理，内部计算都是由上方静态变量计算
 * manually表示是否手动添加，是在nodes-panel中可以手动添加的节点
 * icon目前基于antd的icon，如果UI有新需求，需要转使用SVGIcon组件
 * @type {*[]}
 */
export var allNodeList = [
  { type: nodeTypes.APPROVE, title: messages('setting.key1248')/*审批*/, manually: true, icon: 'switcher' },
  { type: nodeTypes.BOT, title: messages('setting.key1327')/*机器人*/, manually: true, icon: 'robot-auto' },
  { type: nodeTypes.KNOWN, title: messages('setting.key1272')/*知会*/, manually: true, icon: 'notification' },
  { type: nodeTypes.PRINT, title: messages('setting.key1251')/*打印*/, manually: true, icon: 'printer' },
  { type: nodeTypes.CREDIT, title: messages('setting.key1729')/*信用付款*/, manually: true, icon: 'credit-card' },
  { type: nodeTypes.START, title: messages('setting.key1939')/*开始*/, icon: 'arrow-down' },
  { type: nodeTypes.END, title: messages('setting.key1252')/*结束*/, icon: 'minus-circle-o' },
  { type: nodeTypes.OPEN, title: '路由开始' },
  { type: nodeTypes.CLOSE, title: '路由结束' },
  { type: nodeTypes.CONDITION, title: messages('setting.key1330')/*条件*/ },
  { type: nodeTypes.AUDIT, title: messages('components.key1043')/*审核*/, manually: true, icon: 'audit' },
  { type: nodeTypes.AUTOAUDIT, title: messages('components.key915')/*自动审核*/, manually: true, icon: 'audit-auto' }
];

export var approverNames = {
  1004: messages('components.key883')/*接口返回审批人*/,
  1100: messages('components.key884')/*按申请人所在的组织架构*/,
  2200: messages('components.key885')/*按单据上的组织架构*/,
  3300: messages('components.key886')/*按参与人的组织架构*/,
  6003: messages('components.key887')/*指定人员组*/,
  6001: messages('components.key888')/*指定人员*/,
  6002: messages('components.key889')/*按单据上的成本中心经理*/,
  6004: messages('components.key890')/*按单据上的成本中心的主要部门*/,
  6600: messages('components.key891')/*按以下人员信息中的【直属领导】*/,
  7100: messages('components.key1079')/*按以下人员信息中的连续多级【直属领导】*/,
  6005: messages('components.key1044')/*按角色*/,
  6006: messages('components.key1045')/*按单据上的成本中心扩展人员*/,
  6500: messages('components.key1080')/*按以下人员*/
};

export var approverTypes = [1004, 1100, 2200, 6001, 6002, 6004, 6003, 6600, 3300, 6005, 6006, 6500, 7100];
